import { Prop, Schema, SchemaFactory, raw } from '@nestjs/mongoose'
import { HydratedDocument } from 'mongoose'
import type { DueMeetingRoomReq } from '../interfaces'

export type AppointmentDocument = HydratedDocument<Appointment>

@Schema()
export class Appointment {
  @Prop()
  // 用户表的id
  user: string

  @Prop()
  // 定时器名称
  timer: number

  // @Prop()
  // 目标的预约时间，比如需要在2024年12月1日 14:00开始的会议室
  // start_time: string

  // @Prop()
  // 目标的预约时间，比如需要在2024年12月1日 14:00结束的会议室
  // end_time: string

  @Prop()
  // 当前预约的状态，比如pending（等待执行）、executed（已执行）、cancelled（已取消）
  status: 'pending' | 'executed' | 'cancelled'

  @Prop({ type: Object })
  // 提交预约会议室的整体接口参数
  moa_meeting_req: DueMeetingRoomReq
}

export const AppointmentSchema = SchemaFactory.createForClass(Appointment)
